package com.yanfan.iot.service;

import com.alibaba.fastjson2.JSONObject;
import com.yanfan.iot.domain.AlertLog;
import com.yanfan.iot.domain.Device;
import com.yanfan.iot.model.dashBoard.*;

import java.util.List;
import java.util.Map;

public interface DashboardService {
    //大屏设备数量接口
    DeviceCount deviceCount(Device device);

    //大屏照明预警接口
    List<AlertLog> alertLog(Device device);

    //设备在线率
    OnlineRate onlineRate(Device device);

    //区域设备
    List<DashBoardDeviceGroup> deviceGroup(Device device);

    DeviceIlluminationRateNum deviceIlluminationRate(Device device);

    //设备状态
    Map<String, Object> deviceStatus(Device device);

    //告警记录
    List<AlertLog> dlqAlertLog(Device device);

    //轻微问题
    List<AlertLog> minorIssues(Device device);

    //
    List<String> getAllLight(Device device);

    //监控分组设备数量
    List<DonitorDeviceGroup> monitorDeviceGroup(Device device);

    //监控设备在线数
    MonitorOnlineVo monitorOnlineNum(Device device);

    List<monitorDistributeData> monitorDistributionProportion(Device device);

    //设备总览
    Map<String, Object> deviceOverview(Device device);
    //主驾驶舱中心数据
    DeviceOverview getCenterData(Device device);

    //主驾驶舱  告警信息
    List<AlertLog> getWarningData(Device device);

    List<monitorDistributeData> getAreaList(Device device);

    List<DeviceUnderlineData> getUnderlineData(Device device);

    List<AlertLog> getDailyAlertCount(Device device);

    List<AlertLog> getTodayAlert(Device device);

    List<AlertLog> getElectricDailyAlertCount(Device device);

    List<AlertLog> getElectricTodayAlert(Device device);
    Map<String, Object> getElectricDeviceData(Device device);

    List<DeviceOnlineRate>  getOnlineData(Device device);
}
